Transparently providing layer two (L2) services across intermediate computer networks

ABSTRACT

A device provides layer two (L2) services between customer networks that are coupled by one or more intermediate computer networks. The device comprises a routing process that receives label information for a label switched path (LSP) through the intermediate networks. The device further comprises a L2 service that receives L2 service information from a device associated with second customer network. In accordance with the label information, the device transports L2 communications between the first and second customer networks through the one or more intermediate networks. By utilizing label information in this manner, the device may minimize the impact of providing L2 services through the intermediate networks.

This application is a continuation of U.S. application Ser. No.10/821,791, filed Apr. 9, 2004, now U.S. Pat. No. 7,856,509, the entirecontent of which is incorporated herein by reference.

TECHNICAL FIELD

The invention relates to computer networks, and more particularly, totechniques for establishing communications within computer networks.

BACKGROUND

Networks that primarily utilize data link layer devices are oftenreferred to as layer two (L2) networks. A data link layer device is adevice that operates within the second layer of the Open SystemsInterconnection (OSI) reference model, i.e., the data link layer. Oneexample of a data link layer device is a customer premises equipment(CPE) device, such as a switch, modem, Ethernet card, or wireless accesspoint. Traditional L2 networks include Ethernet networks, AsynchronousTransfer Mode (ATM) networks, Frame Relay networks, networks using HighLevel Data Link Control (HDLC), Point-to-Point (PPP) connections, PPPsessions from Layer 2 Tunneling Protocol (L2TP) tunnels, and VirtualLocal Area Networks (VLANs).

In some instances, a layer three (L3) network is used as an intermediatetransport network between two or more L2 networks in order to allowcommunication between the L2 networks. In this type of configuration,the L3 network transparently transports L2 communication between the L2networks, thereby allowing the L2 networks to share an L2 service.Common protocols for transporting the L2 service through theintermediate L3 network are label switching protocols, such asMulti-protocol Label Switching (MPLS) protocols like ResourceReservation Protocol (RSVP) and the Label Distribution Protocol (LDP).In accordance with MPLS, a source device, such as a router connected toone of the L2 networks, can request a path through the intermediatenetwork. This path, referred to as a Label Switched Path (LSP), definesone or more distinct, dedicated, and guaranteed paths through thenetwork to carry MPLS packets from the source to the destination. TheMPLS packets encapsulate the L2 communications, thereby effectivelyshielding the L3 network from the transported L2 information.

One example of an L2 service is the Virtual Private LAN Service (VPLS),also referred to as Point-to-multipoint (P2MP) L2 VPNs. In general, VPLSallows two or more remote customer networks to be extended through theintermediate network as if the intermediate network does not exist. Inparticular, L2 communications, such as Ethernet packets, are transportedbetween customer networks via the intermediate network. In a typicalconfiguration, VPLS-enabled routers that are associated with thecustomer networks define LSPs within the intermediate network to carryencapsulated L2 communications as if these customer networks weredirectly attached to the same LAN. To properly communicate via theseLSPs, each of these VPLS-enabled routers store L2 information, such asMedia Access Control (MAC) addresses, as well as VPLS information, suchas local and remote VPLS site information. In this manner, theseVPLS-enables routers provide transparent L2 connectivity across theintermediate network and simulate a direct LAN.

While a VPLS may provide transparent L2 connectivity across a singleintermediate network, establishing L2 connectivity via VPLS across oneor more intermediate networks becomes increasingly difficult, especiallywhen the intermediate networks are provided by different serviceproviders. In particular, the intermediate networks may not supportVPLS, and the service providers associated with the intermediatenetworks may be unwilling to do so due to the increased overhead andcost associated with VPLS. For example, the service providers may beunwilling to incur the increased overhead and cost associated withstoring and managing the L2 state information associated with the VPLSservice.

SUMMARY

In general, techniques are described for providing layer two (L2)services, such as Virtual Private LAN Service (VPLS), across one or moreintermediate networks. More specifically, the techniques allowdistributed customer networks to achieve L2 connectivity through theintermediate networks without requiring that the intermediate networksmaintain L2 state information associated with the L2 service. As oneexample, the intermediate networks need not provide VPLS services inorder to provide L2 connectivity for the service.

In general, the techniques utilize an exterior routing protocol, such asthe Border Gateway Protocol (BGP), that has been extended to distributelabel information between the intermediate networks. In particular, thisextended routing protocol is utilized to distribute label informationassociated with a label switching protocol, such as a Multi-protocolLabel Switching (MPLS) protocol like Label Distribution Protocol (LDP)or Resource Reservation Protocol (RSVP). In this manner, the techniquesprovide end-to-end, i.e., inter-provider, LSP connectivity across theintermediate networks.

In addition, the techniques provide for the exchange of L2 serviceinformation between the distributed customer networks. In particular, anexterior routing protocol may be utilized to establish a peeringrelationship between routers associated with the distributed customernetworks, thereby allowing the routers to directly exchange the L2service information. For example, the routers may establish a peeringsession using the Border Gateway Protocol (BGP), and directly exchangeVPLS information via the BGP session. The BGP session could be either anInternal BGP (I-BGP) session or a multihop External BGP (E-BGP) sessiondepending on whether or not the routers exchanging L2 serviceinformation are configured to be in the same autonomous system.

In one embodiment, a method comprises establishing a label switched path(LSP) through one or more intermediate networks communicatively coupledbetween a first customer network and a second customer network. Themethod further comprises communicating layer two (L2) serviceinformation between a first device associated with the first customernetwork and a second device associated with the second customer networkand providing an L2 service in accordance with the L2 serviceinformation to transport L2 communications between the first customernetwork and the second customer network through the one or moreintermediate networks using the LSP.

In another embodiment, a device comprises a routing process thatreceives label information for a label switched path (LSP) through oneor more intermediate networks communicatively coupled between a firstcustomer network and a second customer network. The device furthercomprises a layer two (L2) service that receives L2 service informationfrom a device associated with the second customer network, andtransports L2 communications between the first customer network and thesecond customer network through the one or more intermediate networks inaccordance with the label information.

In another embodiment, a system comprises a border router, a first routereflector and an edge router. The border router establishes a labelswitched path (LSP) through one or more intermediate networks, whereinthe LSP communicatively couples a first customer network and a secondcustomer network. The first route reflector associated with the firstcustomer network communicates layer two (L2) service information with asecond route reflector associated with the second customer network. Theedge router provides an L2 service to the first customer network inaccordance with the L2 service information to transport L2communications between the first customer network and the secondcustomer network through the one or more intermediate networks using theLSP.

The techniques may provide one or more advantages. For example, theend-to-end LSP connectivity and the sharing of the L2 serviceinformation allows the routers to establish LSPs across the multipleintermediate networks, and seamlessly provide L2 connectively throughthe intermediate networks without requiring the intermediate networksmaintain L2 state information or otherwise provide the L2 service. Inthis manner, the intermediate networks need not incur the cost oroverhead associated with providing the L2 service. Consequently,seamless L2 connectivity between distributed customer networks may bemore easily established in situations where the networks are coupled bymultiple intermediate networks.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the invention will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an example network environment inwhich provider edge (PE) routers provide layer two (L2) services for L2networks through intermediate networks.

FIG. 2 is a block diagram illustrating another example networkenvironment.

FIG. 3 illustrates a portion of the network environment of FIG. 2 infurther detail.

FIG. 4 is a block diagram illustrating another example networkenvironment.

FIG. 5 is a block diagram illustrating an exemplary embodiment of arouter that provides VPLS services in accordance with the principles ofthe invention.

FIG. 6 is a flowchart illustrating exemplary operation of a router inproviding VPLS services through intermediate networks in accordance withthe principles of the invention.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating an example network environment 2in which provider edge (PE) routers 4A and 4B (collectively, “PE routers4”) provide layer two (L2) services for L2 networks 6A and 6B(collectively, “L2 networks 6”). In particular, PE routers 4 exchange L2information by transparently transporting the L2 information throughintermediate autonomous systems 8A and 8B.

In the example of FIG. 1, PE routers 4A and 4B are coupled to customeredge (CE) routers 10A and 10B, respectively, associated with L2 networks6. Each of CE routers 10A and 10B receives L2 service from a differentone of autonomous systems 8A and 8B, which may be maintained bydifferent service providers. Each one of autonomous systems 8A and 8Bincludes a corresponding one of border routers 12A and 12B(collectively, “border routers 12”).

For exemplary purposes, the techniques are described herein in referenceto Virtual Private LAN Service (VPLS) and the transportation of Ethernetcommunications between L2 networks 6. In order to provide VPLS servicesto L2 networks 6, PE routers 4 communicate with border routers 12 toestablish end-to-end label switch paths (LSPs) (not shown in FIG. 1)through autonomous systems 8A and 8B. PE routers 4 and border routers 12may use any type of label switching protocol to establish the LSPs, suchas Multi-protocol Label Switching (MPLS) protocols like ResourceReservation Protocol (RSVP) and the Label Distribution Protocol (LDP).

In general, PE routers 4 receive Ethernet communications from L2networks 6, and transport the Ethernet communications through autonomoussystems 8A and 8B using the LSPs. PE router 4A, for example, may receivean Ethernet communications from L2 network 6A, encapsulate the Ethernetcommunications in one or more MPLS packets, and forward the MPLS packetsto PE router 4B via one or more LSPs. Upon receipt, PE router 4Bextracts the Ethernet communications from the MPLS packets, and injectsthe Ethernet communications into L2 network 6B. In similar fashion, PErouter 4B transports Ethernet communications from L2 network 6B to PErouter 4A. In this manner, PE routers 4 provide VPLS services throughintermediate autonomous systems 8A and 8B, thereby allowing remote L2networks 6 to communicate as if directly connected. PE routers 4 mayalso perform L2 functions, such as MAC frame flooding and forwarding andMAC address learning, in order to provide the VPLS service.

In accordance with the principles of the invention, border routers 12utilize a routing protocol, such as the Border Gateway Protocol (BGP),that has been extended to distribute label information 13 betweenautonomous systems 8A and 8B. In particular, border routers 12 utilizethis extended routing protocol (referred to herein for exemplarypurposes as Label BGP or “L-BGP”) to distribute label information 13associated with a label switching protocol, such as the LDP or MPLSprotocol. Border router 12A may, for example, utilize the L-BGP toannounce label identifiers for LSPs within autonomous system 8A.Similarly, border router 12B may, for example, utilize L-BGP to announcelabel identifiers for LSPs within autonomous system 8B. Routing deviceswithin autonomous systems 8A and 8B, such as PE routers 4, receive thelabel information 13 from border routers 12 via conventional interiorrouting protocols, such as Interior BGP (I-BGP), ISIS or OSPF, andMulti-protocol Label Switching (MPLS) protocols like Label DistributionProtocol (LDP).

As a result, PE routers 4 are able to construct “end-to-end” LSPs, i.e.,LSPs defined through autonomous systems 8A and 8B that originate andterminate on PEs connected to L2 networks 6. In this manner, thetechniques provide end-to-end, i.e., inter-provider, LSP connectivityacross autonomous systems 8A and 8B for transporting L2 communications,e.g., Ethernet packets. The techniques used to establish end-to-end LSPsbetween the PEs to tunnel L2 communications, can also be used toestablish end-to-end LSPs between the CEs routers 10 themselves. In thisscenario, CE routers 10A and 10B act as PE routers by encapsulating L2communications in MPLS, and the PEs act as autonomous system borderrouters that transport MPLS packets through the intermediate networks.

In addition, in order to increase the transparency of the VPLS L2service, devices associated with L2 networks 6 are configured todirectly exchange VPLS service information 14. For example, PE routers 4or other devices, such as dedicated router reflectors as furtherdescribed below, establish peering relationships utilizing an exteriorrouting protocol, such as BGP (BGP). Using these BGP sessions, PErouters 4 directly exchange the L2 service information, e.g., VPLSservice information 14.

In this way, other devices within autonomous systems 8A and 8B, such asborder routers 12, need not support VPLS or even be aware thatcommunications related the L2 service is being tunneled through theautonomous systems. Consequently, border routers 12 need not beconfigured to maintain VPLS state information, thereby avoiding theoverhead and cost associated with providing the L2 service.Consequently, seamless L2 connectivity between distributed customernetworks, such as L2 networks 6, may be more easily established insituations where the networks are coupled by multiple intermediatenetworks, such as autonomous systems 8A and 8B.

For exemplary purposes, the techniques are described in reference toVirtual Private LAN Service (VPLS) and the transportation of Ethernetcommunications between L2 networks 6. However, the techniques mayreadily be applied to other types of L2 services. For example, each ofthe L2 networks 6 may comprises an ATM network, and PE routers 4 mayutilize the techniques to transports ATM cells and other ATM-related L2information through intermediate autonomous systems 8A and 8B. Otherexemplary types of L2 networks for which L2 information may betransported in accordance with the techniques described herein includeFrame Relay networks, networks using High Level Data Link Control(HDLC), Point-to-Point (PPP) connections, PPP sessions from Layer 2Tunneling Protocol (L2TP) tunnels, and Virtual Local Area Networks(VLANs).

FIG. 2 is a block diagram illustrating another example networkenvironment 20. In particular, FIG. 2 illustrates that the techniquesmay be applied to an environment regardless of the number ofintermediate autonomous systems. In this example, PE routers 23A-23Dprovide VPLS services for respective customer networks 21A-21D, andtransport Ethernet communications through the intermediate autonomoussystems (“AS” in FIG. 2) to provide L2 connectivity between the customernetworks.

Border routers (“BR” in FIG. 2) utilize an extended routing protocol,such as L-BGP, to distribute label information between the intermediateautonomous systems (“AS” in FIG. 2), thereby providing end-to-end LSPconnectivity between the L2 networks.

In addition, autonomous systems 23 and 25 include route reflectors (“RR”in FIG. 2) 22A and 22B, respectively, that communicate utilizing anexterior routing protocol, such as BGP (BGP). For example, if autonomoussystems 23 and 25 are configured with the same autonomous system number,they could use Interior BGP (I-BGP) to exchange L2 service information,otherwise they could use multi-hop Exterior BGP (E-BGP). Using BGP,route reflectors 22A and 22B exchange the L2 service information, e.g.,VPLS service information 26. In this manner, route reflectors 22A and22B may be viewed as intermediate route relay devices.

VPLS service information 26 may, for example, include L2 site data, suchas site-id's of remote sites, VPN domains to which these sites belong,and any information required to forward traffic to these sites or otherL2 information. Route reflectors 22A and 22B forward VPLS serviceinformation 26 to the PE routers associated with the L2 networks for usein providing the VPLS service through the intermediate autonomoussystems. In this manner, route reflectors 22A and 22B provide amechanism for readily sharing L2 VPLS information between the numerousPE routers connected to remote L2 networks.

FIG. 3 illustrates a portion of the network environment 20 of FIG. 2 infurther detail. In this example, PE routers 23A and 23B provide VPLSservices for customer networks 21A and 21B, respectively. In particular,FIG. 3 further illustrates certain communications within networkenvironment 20 and, in particular, within autonomous system 25. For easeof illustration purposes, not all communications within autonomoussystem 25 are shown.

In this example, route reflector 22A receives VPLS service information26 from route reflector 22B (FIG. 2), and forwards the VPLS serviceinformation, e.g., L2 site information, to PE routers 23A and 23B.Conventional route reflectors change next-hop information whenexchanging route information via an external routing protocol likeE-BGP, however route reflector 22A and 22B are typically configured soas not to change the next-hop information. Thus, route reflectors 22Aand 22B maintain the transparency of the VPLS services by suggestingthat PE routers connected to customer networks 22C and 22D arenext-hops. In other words, by not changing the next-hop information toinclude route reflectors 22A and 22B even though route reflectors 22Aand 22B are using an external routing protocol, PE routers 23A and 23Bassume that other PE routers 23C and 23D, respectively, are next-hops,i.e., directly connected. PE routers 23A and 23B update internal routinginformation and state data associated with the L2 VPLS service based onthe received VPLS state information.

PE router 23A receives Ethernet communications 33 from CE router 21A,and formulates packets for transporting the Ethernet communications toother customer networks in accordance with the VPLS service. PE router23A may, for example, encapsulate Ethernet communications 33 in one ormore MPLS packets and forward the MPLS packets to PE router 23B via LSP27. In turn, PE router 23B extracts the Ethernet communications from theMPLS packets, and forwards Ethernet communications 35 to customernetwork 21B.

In addition, border router 31A may establish LSP 32 by communicatingwith a border router of an intermediate autonomous system via L-BGP. AnL-BGP compliant update message associated with one or more advertisedroutes may include, for example, a Subsequent Address Family Identifier(SAFI) field and Network Layer Reachability Information (NLRI) field foradvertising prefixes with MPLS labels that can be used to reach them, tonearby routers. The SAFI field identifies the nature of the informationstored in the NLRI field and is set to a predefined value when the NLRIfield contains label switching protocol labels and prefixes reachablevia the labels. Border router 31A establishes LSP 32 by sending an L-BGPupdate message having the SAFI field set to the predefined value and theNLRI field set to contain the label of LSP 32 to border router 31B.Border router 31B and subsequent routers forward similar update messagesuntil LSP 32 connects to customer network 21C and 21D (FIG. 2), thereby“stretching” LSP 32 to provide end-to-end connectivity. In this process,label switching state for LSP 32 is setup along the path of the LSP invarious intermediate autonomous systems.

In addition, based on the L2 site information learned from routereflector 22A, PE router 23A forwards the MPLS packets to border router31A via LSP 32. Border router 31A in turn forwards the MPLS packets viaLSP 32 to other remote customer networks, such as customer networks 21Cand 21D.

FIG. 4 is a block diagram illustrating another example networkenvironment 36. In particular, FIG. 4 illustrates that the techniquesmay be applied to an environment regardless of the level of networkabstraction. In this example, PE routers 38A and 38B provide VPLSservices for respective customer networks 40A and 40B, and transportEthernet communications through confederation 42 to provide L2connectivity between the customer networks. Confederation 42 maycomprise a plurality of autonomous systems, such as autonomous systems(“AS” in FIG. 4) 44A and 44B, and possibly additional customer networks(not shown), coupled together to form confederation 42.

In addition, PE routers 38A and 38B communicate utilizing an exteriorrouting protocol, such as Exterior BGP (EBGP). Using EBGP, PE routers38A and 38B exchange L2 service information, e.g., VPLS serviceinformation 48. VPLS service information 48, as described above, may,for example, include L2 site data, such as site-id's of remote sites,VPN domains to which these sites belong, and any information required toforward traffic to these sites or other L2 information. In this manner,a mechanism is established for sharing L2 information between numerousremote L2 networks, e.g., customer networks 40A and 40B, regardless ofthe level of network abstraction.

In addition, PE routers 38A and 38B communicate utilizing an exteriorrouting protocol, such as Exterior BGP (EBGP). Using EBGP, PE routers38A and 38B exchange L2 service information, e.g., VPLS serviceinformation 48. VPLS service information 48, as described above. In thismanner, a mechanism is established for sharing L2 information betweennumerous remote L2 networks, e.g., customer networks 40A and 40B,regardless of the level of network abstraction.

FIG. 5 is a block diagram illustrating an exemplary embodiment of arouter 50, such as a PE router, that provides VPLS services inaccordance with the principles of the invention. In the exemplaryembodiment illustrated in FIG. 5, router 50 includes interface cards(IFCs) 52A-52N (collectively, “IFCs 52”) for communicating packets viainput links 54A-54N and output links 56A-56N.

In this example, router 50 also includes L2 state data 62 that generallyrepresents the state data necessary to provide services for an L2network. L2 state data 62 may, for example, specify MAC addresses forthe L2 networks. MAC addresses, for example, may be learned by MACflooding and learning procedures during L2 communication.

In this example, router 50 also includes L2 state data 62 that generallyrepresents the state data necessary to provide services for an L2network. L2 state data 62 may, for example, specify MAC addresses forthe L2 networks. Mac addresses, for example, my be learned by MACflooding and learning procedures during L2 communication.

In addition, router 50 maintains route information 63 that definesroutes through a network. Route information 50 may, for example, definenext-hops for reaching customer networks and, in some instances, LSPsfor transporting data to the customer networks.

As described herein, router 50 may be similar to PE router 23A (FIG. 3),and provide VPLS services to a customer network, such as customernetwork 21A. In order to provide VPLS services through intermediateautonomous systems, router 50 establishes end-to-end MPLS connectivitywith all PE routers associated with the L2 VPN to which router 50belongs. This may include establishing LSPs to these associated PErouters in accordance with MPLS protocol 60B. When initiating LSPsacross the intermediate autonomous systems, border routers utilizeL-BGP, for example, to transmit labels associated with these LSPs toadjacent autonomous systems.

Also, in order to provide VPLS services, router 50 exchanges VPLSservice information with the other PE routers included within the L2 VPNvia a route reflector, such as route reflector 22A. The route reflectorutilizes an exterior routing protocol, such as BGP, to exchange the VPLSservice information between PE routers belonging to the L2 VPN. Router50 receives the VPLS service information from the route reflector usingBGP protocol 60C. Router 50 receives the VPLS service information, andcontrol unit 58 processes the VPLS service information in accordancewith BGP protocol 60C by injecting the VPLS service information intoroute information 63. Control unit 58 resolves route information 63 andassociates all of the routes, including the recently injected L2information, with respective next-hops. In the case of the recentlyinjected L2 information, control unit 58 may associate the L2information with next-hops that define LSPs. Control unit 58, inaccordance with VPLS protocol 60A and its procedures of flooding andlearning, further processes the VPLS service information received viaBGP protocol 60C to extract L2 state data 62.

The architecture of router 50 illustrated in FIG. 5 is for exemplarypurposes only. The invention is not limited to this architecture. Inother embodiments, router 50 may be configured in a variety of ways. Inone embodiment, for example, control unit 58 and its correspondingfunctionality may be distributed within IFCs 52. In another embodiment,control unit 58 may include a routing engine that performs routeresolution and maintains a routing information base (RIB), and aforwarding engine that performs packet forwarding based on a forwardinginformation base (FIB). In some embodiments, control unit 58 may includeone or more processors which execute software instructions. In thatcase, the various software modules of control unit 58, such as protocols60, may comprise executable instructions stored on a computer-readablemedium.

The architecture of router 50 illustrated in FIG. 5 is for exemplarypurposes only. The invention is not limited to this architecture. Inother embodiments, router 50 may be configured in a variety of ways. Inone embodiment, for example, control unit 58 and its correspondingfunctionality may be distributed within IFCs 52. In another embodiment,control unit 58 may include a routing engine that performs routeresolution and maintains a routing information base (RIB), and aforwarding engine that performs packet forwarding based on a forwardinginformation base (FIB).

FIG. 6. is a flowchart illustrating exemplary operation of router 50(FIG. 5) in providing VPLS services through one or more intermediatenetworks in accordance with the principles of the invention. Initially,router 50 establishes LSPs (64) in accordance with MPLS protocol 60B.Router 50 may, for example, establish a LSP with every PE routerassociated with the L2 VPN to which router 50 belongs. In instanceswhere the LSP spans two or more autonomous systems, border routers, suchas border router 31A of FIG. 3, transmits a label associated with theLSP via an extended routing protocol, such as L-BGP, as described above.The LSPs may be established dynamically as L2 services are requested ora priori by a system administrator or automated agent. Router 50 updatesrouter information 63 to include MPLS information regarding theend-to-end LSPs.

Router 50 also receives VPLS service information (66) and stores theVPLS service information in route information 63. Typically, routereflectors, such as route reflector 22A and 22B (FIG. 2) establish anEBGP session, whereby VPLS service information may be exchanged andforwarded to router 50 via BGP or some other routing protocol. This VPLSservice information is used to exchange information regarding customerL2 sites, such as site-id's and VPN domains to which the sites belong,and allows router 50 to emulate L2 connectivity across intermediatenetworks.

Once the LSPs are established and VPLS service information is exchanged,router 50 may provide VPLS service to coupled customer networks, such ascustomer networks 21A-21D (FIG. 2). Router 50 may receive L2 data fromone of the coupled customer networks (68). During this process, router50 maintains L2 state data 62 using, for example, conventional MACaddress flooding and learning procedures.

Based on L2 state data 62 and routing information 63, router 50 selectsone of the established LSPs to forward the L2 data through theintermediate networks (70). In order to select one of the establishedLSPs, control unit 58 of router 50 analyzes the L2 data to determine asource Media Access Control (MAC) address and a destination MAC address.Using these addresses, control unit 58 accesses route information 63 andselects a next-hop that typically refers to an egress into one of theestablished LSPs. Again, conventional procedures for VPLS functions,such as flooding L2 traffic and learning MAC addresses, may be utilized.Whether flooding Ethernet traffic to all remote PEs or forwardingEthernet traffic to a single remote PE, the principles used to selectthe next hop information corresponding to a remote PE and encapsulatingL2 frames in end-to-end LSPs are the similar.

After selecting the LSP, control unit 58 assigns a label associated withthe selected LSP to the received L2 data in accordance with MPLSprotocol 60B (72), and transmits the L2 data via the selected LSP (74).In reverse order, router 50 receives packets from LSPs, extractsencapsulated L2 data, and forwards the L2 data to one or more L2networks. In this manner, router 50 provides VPLS services to customernetworks that are separated by intermediate networks, e.g., intermediateautonomous systems.

Various embodiments of the invention have been described. These andother embodiments are within the scope of the following claims.

The invention claimed is:
 1. A method comprising: establishing a peeringsession between a first device associated with a first customer networkand a second device associated with a second customer network using afirst routing protocol, wherein the first routing protocol comprises anexterior routing protocol; establishing a label switched path (LSP)through a plurality of intermediate networks communicatively coupledbetween the first customer network and the second customer network;after establishing the peering session and the LSP, transmitting by thefirst device routing communications over the peering session inaccordance with the first routing protocol, the routing communicationsincluding layer two (L2) service information comprising L2 address stateinformation for devices in the first customer network, as the L2 addressstate information is learned by the first device, wherein the L2 serviceinformation includes information for L2 sites or end-points within thefirst customer network and next hop information used to reach the L2sites or end-points; communicating the L2 service information via theexterior routing protocol using an intermediate route relay device; withthe intermediate route relay device via the exterior routing protocol,maintaining and relaying the next hop information unchanged; andproviding an L2 service in accordance with the L2 service information totransport L2 communications between the first customer network and thesecond customer network through the plurality of intermediate networksusing the LSP.
 2. The method of claim 1, wherein establishing an LSPcomprises exchanging label information associated with the LSP betweenthe plurality of intermediate networks using a second routing protocolthat has been extended to distribute the label information.
 3. Themethod of claim 2, wherein the second routing protocol carries the labelinformation in association with routes advertised between theintermediate networks.
 4. The method of claim 2, wherein the secondrouting protocol carries the label information as network layerreachability information (NLRI) that is associated with a routeadvertised between the first customer network and the second customernetwork.
 5. The method of claim 2, wherein the second routing protocolcomprises the Border Gateway Protocol (BGP).
 6. The method of claim 2,wherein the label information conforms to one of Multi-protocol LabelSwitching (MPLS) or the Label Distribution Protocol (LDP).
 7. The methodof claim 2, wherein the first routing protocol is the same as the secondrouting protocol.
 8. The method of claim 2, wherein providing an L2service comprises: receiving L2 communications from the first customernetwork; and assigning labels to the L2 communications from the firstcustomer network in accordance with the label information to formpackets for transporting the L2 communications from the first customernetwork to the second customer network.
 9. The method of claim 1,wherein the L2 communications comprise Asynchronous Transfer Mode (ATM)cells.
 10. The method of claim 1, wherein the L2 service comprises theVirtual Private LAN Service and the L2 communications comprise Ethernetcommunications, and wherein at least one of the plurality ofintermediate networks does not support the Virtual Private LAN Service.11. A device comprising: one or more interface cards configured tocommunicate packets via input links and output links; a routing processthat receives, via packets received by the one or more interface cards,label information for a label switched path (LSP) through a plurality ofintermediate networks communicatively coupled between a first customernetwork and a second customer network; a first routing protocol thatexecutes on a control unit of the device, establishes a peering sessionbetween the device and a second device associated with the secondcustomer network, and receives a routing communication over the peeringsession that includes layer two (L2) service information associated withthe second customer network, wherein the first routing protocolcomprises an exterior routing protocol, wherein the L2 serviceinformation comprises L2 address state information for devices in thesecond customer network, wherein the L2 service information includesinformation for L2 sites or end-points in the second customer networkand next hop information used by the device to reach the remote L2 sitesor end-points, wherein the device is configured to relay the next hopinformation unchanged using the exterior routing protocol when thedevice receives the L2 service information and the next hop informationvia an intermediate route relay device, wherein the control unitprocesses the L2 service information in accordance with the firstrouting protocol by injecting the L2 service information into storedroute information and resolving the route information to associateroutes associated with the injected L2 service information withrespective next-hops; and an L2 service that operates in accordance withthe L2 service information and transports L2 communications between thefirst customer network and the second customer network through theplurality of intermediate networks in accordance with the labelinformation by outputting the L2 communications via the output links ofthe one or more interface cards.
 12. The device of claim 11, wherein therouting process receives the label information through the plurality ofintermediate networks via a second routing protocol that has beenextended to distribute the label information.
 13. The device of claim12, wherein the second routing protocol carries the label information inassociation with routes advertised between the plurality of intermediatenetworks.
 14. The device of claim 12, wherein the second routingprotocol comprises the Border Gateway Protocol (BGP), and wherein thesecond routing protocol carries the label information as network layerreachability information (NLRI) that is associated with a routeadvertised between the first customer network and the second customernetwork.
 15. The device of claim 12, wherein the first routing protocolis the same as the second routing protocol.
 16. The device of claim 11,wherein the label information conforms to one of Multi-protocol LabelSwitching (MPLS) or the Label Distribution Protocol (LDP).
 17. Thedevice of claim 11, wherein the L2 service comprises the Virtual PrivateLAN service (VPLS) and the L2 communication comprise Ethernetcommunications and wherein at least one of the plurality of intermediatenetworks does not support the Virtual Private LAN Service.
 18. Thedevice of claim 11, wherein the L2 service receives L2 communicationsfrom the first customer network, and assigns labels to the L2communications from the first customer network in accordance with thelabel information to form packets for transporting the L2 communicationsfrom the first customer network to the second customer network throughthe plurality of intermediate networks via the LSP.
 19. The device ofclaim 11, wherein the device comprises a provider edge router or acustomer edge router.
 20. A non-transitory computer-readable mediumcomprising instructions that, when executed by a processor, cause theprocessor to perform steps comprising: execute a routing process thatreceives, via a routing communication that conforms to a first routingprotocol, label information for a label switched path (LSP) through aplurality of intermediate networks communicatively coupled between afirst customer network and a second customer network, wherein the firstrouting protocol comprises an exterior routing protocol; receive, over apeering session established with the first routing protocol between thefirst customer network and the second customer network, layer two (L2)service information comprising L2 address state information for devicesin the second customer network, wherein the L2 service informationincludes information for L2 sites or end-points within the secondcustomer network and next hop information used to reach the L2 sites orend-points; relay the next hop information unchanged using the exteriorrouting protocol when the device receives the L2 service information andthe next hop information via an intermediate route relay device;process, in accordance with the first routing protocol, the L2 serviceinformation by injecting the L2 service information into stored routeinformation and resolving the route information to associate routesassociated with the injected L2 service information with respectivenext-hops; execute a L2 service that processes the L2 serviceinformation associated with the second customer network to extract theL2 address state information; and transport L2 communications betweenthe first customer network and the second customer network through theplurality of intermediate networks in accordance with the L2 addressstate information using the LSP to emulate L2 connectivity across theintermediate networks.